java如何将文本从对象的ArrayList设置为TextView?
我试图使用setText
方法来显示从Objects
的ArrayList
到TextView
的所有元素
我在6个不同的工具架(A、B、C、D、E、F)中有6个按钮,每个按钮都有一个弹出菜单,用户在其中选择一个基点(N、S、E、W),然后在文本视图中显示工具架字母和单击的项目。这是地图:
以下是我使用的代码:
Button buttonA, buttonB, buttonC, buttonD, buttonE, buttonF;
private TextView coordenada_view;
ArrayList<PickUpPoint> pickuppoint_array = new ArrayList<PickUpPoint>();
@Override
protected void onCreate{......
buttonA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final PopupMenu popupMenu = new PopupMenu(Mapa.this, buttonA);
popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
String mShelving = buttonA.getText().toString();
String mCardinalPoint = item.getTitle().toString();
pickuppoint_array.add(new PickUpPoint(mShelving,mCardinalPoint));
PickUpPoint pickUpPoint = new PickUpPoint(mShelving,mCardinalPoint);
//Here I´m trying to show all the elements of the ArrayList into the TextView
for (int i = 0; i < pickuppoint_array.size(); i++){
coordenada_view.setText( pickuppoint_array.get(i).toString());
}
return true;
}
});
popupMenu.show();
buttonB.setOnClickListener....
buttonC.setOnClickListener....
}
这是类PickUpPoint
:
class PickUpPoint {
public String shelving;
public String cardinalPoint;
public String getShelving() {
return shelving;
}
public String getCardinalPoint() {
return cardinalPoint;
}
PickUpPoint(String shelving, String cardinalPoint) {
this.shelving = shelving;
this.cardinalPoint = cardinalPoint;
}
}
但我是从数组列表中得到的:
所以,我的问题是。。。如何像这样从数组列表中获取所有元素
# 1 楼答案
使用此方法设置来自
Arraylist
的文本还要检查
Arraylist
是否不是null
且为空用法
这样称呼这个方法
# 2 楼答案
我假设
coordenada_view#setText
只能被调用一次因此,首先需要将pickuppoint_数组中的元素转换为字符串 然后将其提供给setText方法
您还希望在PickUpPoint类中实现toString()方法,以返回每个对象所需的表示形式,例如:
附言: 如果您知道这些字符串的预期长度,那么应该将其作为参数提供给StringBuilder构造函数,这样jvm就不需要浪费时间来调整其大小
新的StringBuilder(18)可能适用于toString方法, 新的StringBuilder(19*pickuppoint_array.size())可能适用于另一个